KILLED



    


Runtime Complexity (full) proof of /tmp/tmpCtz0Xs/MYNAT_complete_noand_C.xml


(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Rewrite Strategy: FULL

(1) DecreasingLoopProof (EQUIVALENT transformation)

The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
U101(mark(X1), X2, X3) →+ mark(U101(X1, X2, X3))
gives rise to a decreasing loop by considering the right hand sides subterm at position [0].
The pumping substitution is [X1 / mark(X1)].
The result substitution is [ ].

(2) BOUNDS(n^1, INF)

(3) RenamingProof (EQUIVALENT transformation)

Renamed function symbols to avoid clashes with predefined symbol.

(4) Obligation:

Runtime Complexity Relative TRS:
The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

S is empty.
Rewrite Strategy: FULL

(5) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)

Infered types.

(6) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

(7) OrderProof (LOWER BOUND(ID) transformation)

Heuristically decided to analyse the following defined symbols:
active, U102, isNatKind, U103, isNat, U104, plus, x, U12, U13, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U102 < active
isNatKind < active
U103 < active
isNat < active
U104 < active
plus < active
x < active
U12 < active
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U102 < proper
isNatKind < proper
U103 < proper
isNat < proper
U104 < proper
plus < proper
x < proper
U12 < proper
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(8) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U102, active, isNatKind, U103, isNat, U104, plus, x, U12, U13, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U102 < active
isNatKind < active
U103 < active
isNat < active
U104 < active
plus < active
x < active
U12 < active
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U102 < proper
isNatKind < proper
U103 < proper
isNat < proper
U104 < proper
plus < proper
x < proper
U12 < proper
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(9) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)

Induction Base:
U102(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U102(gen_tt:mark:0':ok3_0(+(1, +(n5_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(10) Complex Obligation (BEST)

(11) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
isNatKind, active, U103, isNat, U104, plus, x, U12, U13, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
isNatKind < active
U103 < active
isNat < active
U104 < active
plus < active
x < active
U12 < active
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
isNatKind < proper
U103 < proper
isNat < proper
U104 < proper
plus < proper
x < proper
U12 < proper
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(12) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol isNatKind.

(13) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U103, active, isNat, U104, plus, x, U12, U13, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U103 < active
isNat < active
U104 < active
plus < active
x < active
U12 < active
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U103 < proper
isNat < proper
U104 < proper
plus < proper
x < proper
U12 < proper
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(14) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)

Induction Base:
U103(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U103(gen_tt:mark:0':ok3_0(+(1, +(n5043_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(15) Complex Obligation (BEST)

(16) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
isNat, active, U104, plus, x, U12, U13, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
isNat < active
U104 < active
plus < active
x < active
U12 < active
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
isNat < proper
U104 < proper
plus < proper
x < proper
U12 < proper
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(17) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)

Could not prove a rewrite lemma for the defined symbol isNat.

(18) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U104, active, plus, x, U12, U13, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U104 < active
plus < active
x < active
U12 < active
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U104 < proper
plus < proper
x < proper
U12 < proper
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(19) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)

Induction Base:
U104(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U104(gen_tt:mark:0':ok3_0(+(1, +(n10693_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(20) Complex Obligation (BEST)

(21) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
plus, active, x, U12, U13, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
plus < active
x < active
U12 < active
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
plus < proper
x < proper
U12 < proper
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(22) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)

Induction Base:
plus(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
plus(gen_tt:mark:0':ok3_0(+(1, +(n16930_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(23) Complex Obligation (BEST)

(24) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
x, active, U12, U13, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
x < active
U12 < active
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
x < proper
U12 < proper
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(25) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)

Induction Base:
x(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
x(gen_tt:mark:0':ok3_0(+(1, +(n21224_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(26) Complex Obligation (BEST)

(27) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U12, active, U13, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U12 < active
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U12 < proper
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(28) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)

Induction Base:
U12(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U12(gen_tt:mark:0':ok3_0(+(1, +(n25822_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(29) Complex Obligation (BEST)

(30) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U13, active, U14, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U13 < active
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U13 < proper
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(31) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)

Induction Base:
U13(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U13(gen_tt:mark:0':ok3_0(+(1, +(n33580_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(32) Complex Obligation (BEST)

(33) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U14, active, U15, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U14 < active
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U14 < proper
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(34) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)

Induction Base:
U14(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U14(gen_tt:mark:0':ok3_0(+(1, +(n41943_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(35) Complex Obligation (BEST)

(36) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U15, active, U16, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U15 < active
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U15 < proper
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(37) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)

Induction Base:
U15(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
U15(gen_tt:mark:0':ok3_0(+(1, +(n50911_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(38) Complex Obligation (BEST)

(39) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U16, active, U22, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U16 < active
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U16 < proper
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(40) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)

Induction Base:
U16(gen_tt:mark:0':ok3_0(+(1, 0)))

Induction Step:
U16(gen_tt:mark:0':ok3_0(+(1, +(n56820_0, 1)))) →RΩ(1)
mark(U16(gen_tt:mark:0':ok3_0(+(1, n56820_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(41) Complex Obligation (BEST)

(42) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U22, active, U23, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U22 < active
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U22 < proper
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(43) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)

Induction Base:
U22(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
U22(gen_tt:mark:0':ok3_0(+(1, +(n59319_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(44) Complex Obligation (BEST)

(45) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U23, active, U32, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U23 < active
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U23 < proper
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(46) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)

Induction Base:
U23(gen_tt:mark:0':ok3_0(+(1, 0)))

Induction Step:
U23(gen_tt:mark:0':ok3_0(+(1, +(n65738_0, 1)))) →RΩ(1)
mark(U23(gen_tt:mark:0':ok3_0(+(1, n65738_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(47) Complex Obligation (BEST)

(48) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U32, active, U33, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U32 < active
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U32 < proper
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(49) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)

Induction Base:
U32(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U32(gen_tt:mark:0':ok3_0(+(1, +(n68488_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(50) Complex Obligation (BEST)

(51) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U33, active, U34, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U33 < active
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U33 < proper
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(52) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)

Induction Base:
U33(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U33(gen_tt:mark:0':ok3_0(+(1, +(n79599_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(53) Complex Obligation (BEST)

(54) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U34, active, U35, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U34 < active
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U34 < proper
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(55) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)

Induction Base:
U34(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U34(gen_tt:mark:0':ok3_0(+(1, +(n91315_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(56) Complex Obligation (BEST)

(57) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U35, active, U36, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U35 < active
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U35 < proper
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(58) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)

Induction Base:
U35(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
U35(gen_tt:mark:0':ok3_0(+(1, +(n103636_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(59) Complex Obligation (BEST)

(60) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U36, active, U42, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U36 < active
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U36 < proper
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(61) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)

Induction Base:
U36(gen_tt:mark:0':ok3_0(+(1, 0)))

Induction Step:
U36(gen_tt:mark:0':ok3_0(+(1, +(n111771_0, 1)))) →RΩ(1)
mark(U36(gen_tt:mark:0':ok3_0(+(1, n111771_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(62) Complex Obligation (BEST)

(63) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U42, active, U62, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U42 < active
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U42 < proper
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(64) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)

Induction Base:
U42(gen_tt:mark:0':ok3_0(+(1, 0)))

Induction Step:
U42(gen_tt:mark:0':ok3_0(+(1, +(n115369_0, 1)))) →RΩ(1)
mark(U42(gen_tt:mark:0':ok3_0(+(1, n115369_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(65) Complex Obligation (BEST)

(66) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U62, active, U72, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U62 < active
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U62 < proper
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(67) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)

Induction Base:
U62(gen_tt:mark:0':ok3_0(+(1, 0)))

Induction Step:
U62(gen_tt:mark:0':ok3_0(+(1, +(n119068_0, 1)))) →RΩ(1)
mark(U62(gen_tt:mark:0':ok3_0(+(1, n119068_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(68) Complex Obligation (BEST)

(69) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U72, active, U82, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U72 < active
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U72 < proper
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(70) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)

Induction Base:
U72(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
U72(gen_tt:mark:0':ok3_0(+(1, +(n122868_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(71) Complex Obligation (BEST)

(72) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U82, active, U83, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U82 < active
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U82 < proper
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(73) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)

Induction Base:
U82(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U82(gen_tt:mark:0':ok3_0(+(1, +(n131925_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(74) Complex Obligation (BEST)

(75) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U83, active, U84, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U83 < active
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U83 < proper
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(76) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)

Induction Base:
U83(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U83(gen_tt:mark:0':ok3_0(+(1, +(n146700_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(77) Complex Obligation (BEST)

(78) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U84, active, s, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U84 < active
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U84 < proper
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(79) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)

Induction Base:
U84(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U84(gen_tt:mark:0':ok3_0(+(1, +(n162080_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(80) Complex Obligation (BEST)

(81) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
s, active, U92, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
s < active
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
s < proper
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(82) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)

Induction Base:
s(gen_tt:mark:0':ok3_0(+(1, 0)))

Induction Step:
s(gen_tt:mark:0':ok3_0(+(1, +(n178065_0, 1)))) →RΩ(1)
mark(s(gen_tt:mark:0':ok3_0(+(1, n178065_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(83) Complex Obligation (BEST)

(84) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U92, active, U11, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U92 < active
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U92 < proper
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(85) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)

Induction Base:
U92(gen_tt:mark:0':ok3_0(+(1, 0)))

Induction Step:
U92(gen_tt:mark:0':ok3_0(+(1, +(n182713_0, 1)))) →RΩ(1)
mark(U92(gen_tt:mark:0':ok3_0(+(1, n182713_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(86) Complex Obligation (BEST)

(87) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U11, active, U21, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U11 < active
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U11 < proper
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(88) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)

Induction Base:
U11(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U11(gen_tt:mark:0':ok3_0(+(1, +(n187462_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(89) Complex Obligation (BEST)

(90) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U21, active, U31, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U21 < active
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U21 < proper
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(91) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)

Induction Base:
U21(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
U21(gen_tt:mark:0':ok3_0(+(1, +(n204674_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(92) Complex Obligation (BEST)

(93) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U31, active, U41, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U31 < active
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U31 < proper
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(94) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)

Induction Base:
U31(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U31(gen_tt:mark:0':ok3_0(+(1, +(n216055_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(95) Complex Obligation (BEST)

(96) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U41, active, U51, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U41 < active
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U41 < proper
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(97) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)

Induction Base:
U41(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
U41(gen_tt:mark:0':ok3_0(+(1, +(n234330_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(98) Complex Obligation (BEST)

(99) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U51, active, U61, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U51 < active
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U51 < proper
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(100) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)

Induction Base:
U51(gen_tt:mark:0':ok3_0(+(1, 0)))

Induction Step:
U51(gen_tt:mark:0':ok3_0(+(1, +(n246417_0, 1)))) →RΩ(1)
mark(U51(gen_tt:mark:0':ok3_0(+(1, n246417_0)))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(101) Complex Obligation (BEST)

(102) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U61, active, U71, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U61 < active
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U61 < proper
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(103) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)

Induction Base:
U61(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
U61(gen_tt:mark:0':ok3_0(+(1, +(n251965_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(104) Complex Obligation (BEST)

(105) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U71, active, U81, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U71 < active
U81 < active
U91 < active
U101 < active
active < top
U71 < proper
U81 < proper
U91 < proper
U101 < proper
proper < top

(106) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2645620)

Induction Base:
U71(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
U71(gen_tt:mark:0':ok3_0(+(1, +(n264562_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(107) Complex Obligation (BEST)

(108) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)
U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2645620)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U81, active, U91, U101, proper, top

They will be analysed ascendingly in the following order:
U81 < active
U91 < active
U101 < active
active < top
U81 < proper
U91 < proper
U101 < proper
proper < top

(109) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U81(gen_tt:mark:0':ok3_0(+(1, n277463_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2774630)

Induction Base:
U81(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U81(gen_tt:mark:0':ok3_0(+(1, +(n277463_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U81(gen_tt:mark:0':ok3_0(+(1, n277463_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(110) Complex Obligation (BEST)

(111) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)
U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2645620)
U81(gen_tt:mark:0':ok3_0(+(1, n277463_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2774630)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U91, active, U101, proper, top

They will be analysed ascendingly in the following order:
U91 < active
U101 < active
active < top
U91 < proper
U101 < proper
proper < top

(112) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U91(gen_tt:mark:0':ok3_0(+(1, n298028_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2980280)

Induction Base:
U91(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b))

Induction Step:
U91(gen_tt:mark:0':ok3_0(+(1, +(n298028_0, 1))), gen_tt:mark:0':ok3_0(b)) →RΩ(1)
mark(U91(gen_tt:mark:0':ok3_0(+(1, n298028_0)), gen_tt:mark:0':ok3_0(b))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(113) Complex Obligation (BEST)

(114) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)
U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2645620)
U81(gen_tt:mark:0':ok3_0(+(1, n277463_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2774630)
U91(gen_tt:mark:0':ok3_0(+(1, n298028_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2980280)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
U101, active, proper, top

They will be analysed ascendingly in the following order:
U101 < active
active < top
U101 < proper
proper < top

(115) RewriteLemmaProof (LOWER BOUND(ID) transformation)

Proved the following rewrite lemma:
U101(gen_tt:mark:0':ok3_0(+(1, n311635_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n3116350)

Induction Base:
U101(gen_tt:mark:0':ok3_0(+(1, 0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))

Induction Step:
U101(gen_tt:mark:0':ok3_0(+(1, +(n311635_0, 1))), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) →RΩ(1)
mark(U101(gen_tt:mark:0':ok3_0(+(1, n311635_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c))) →IH
mark(*4_0)

We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).

(116) Complex Obligation (BEST)

(117) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)
U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2645620)
U81(gen_tt:mark:0':ok3_0(+(1, n277463_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2774630)
U91(gen_tt:mark:0':ok3_0(+(1, n298028_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2980280)
U101(gen_tt:mark:0':ok3_0(+(1, n311635_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n3116350)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

The following defined symbols remain to be analysed:
active, proper, top

They will be analysed ascendingly in the following order:
active < top
proper < top

(118) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)
U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2645620)
U81(gen_tt:mark:0':ok3_0(+(1, n277463_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2774630)
U91(gen_tt:mark:0':ok3_0(+(1, n298028_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2980280)
U101(gen_tt:mark:0':ok3_0(+(1, n311635_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n3116350)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(119) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)
U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2645620)
U81(gen_tt:mark:0':ok3_0(+(1, n277463_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2774630)
U91(gen_tt:mark:0':ok3_0(+(1, n298028_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2980280)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(120) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)
U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2645620)
U81(gen_tt:mark:0':ok3_0(+(1, n277463_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2774630)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(121) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)
U71(gen_tt:mark:0':ok3_0(+(1, n264562_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2645620)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(122) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)
U61(gen_tt:mark:0':ok3_0(+(1, n251965_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2519650)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(123) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)
U51(gen_tt:mark:0':ok3_0(+(1, n246417_0))) → *4_0, rt ∈ Ω(n2464170)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(124) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)
U41(gen_tt:mark:0':ok3_0(+(1, n234330_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2343300)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(125) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)
U31(gen_tt:mark:0':ok3_0(+(1, n216055_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n2160550)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(126) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)
U21(gen_tt:mark:0':ok3_0(+(1, n204674_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n2046740)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(127) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)
U11(gen_tt:mark:0':ok3_0(+(1, n187462_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1874620)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(128) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)
U92(gen_tt:mark:0':ok3_0(+(1, n182713_0))) → *4_0, rt ∈ Ω(n1827130)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(129) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)
s(gen_tt:mark:0':ok3_0(+(1, n178065_0))) → *4_0, rt ∈ Ω(n1780650)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(130) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)
U84(gen_tt:mark:0':ok3_0(+(1, n162080_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1620800)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(131) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)
U83(gen_tt:mark:0':ok3_0(+(1, n146700_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1467000)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(132) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)
U82(gen_tt:mark:0':ok3_0(+(1, n131925_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n1319250)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(133) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)
U72(gen_tt:mark:0':ok3_0(+(1, n122868_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1228680)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(134) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)
U62(gen_tt:mark:0':ok3_0(+(1, n119068_0))) → *4_0, rt ∈ Ω(n1190680)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(135) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)
U42(gen_tt:mark:0':ok3_0(+(1, n115369_0))) → *4_0, rt ∈ Ω(n1153690)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(136) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)
U36(gen_tt:mark:0':ok3_0(+(1, n111771_0))) → *4_0, rt ∈ Ω(n1117710)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(137) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)
U35(gen_tt:mark:0':ok3_0(+(1, n103636_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n1036360)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(138) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)
U34(gen_tt:mark:0':ok3_0(+(1, n91315_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n913150)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(139) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)
U33(gen_tt:mark:0':ok3_0(+(1, n79599_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n795990)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(140) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)
U32(gen_tt:mark:0':ok3_0(+(1, n68488_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n684880)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(141) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)
U23(gen_tt:mark:0':ok3_0(+(1, n65738_0))) → *4_0, rt ∈ Ω(n657380)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(142) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)
U22(gen_tt:mark:0':ok3_0(+(1, n59319_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n593190)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(143) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)
U16(gen_tt:mark:0':ok3_0(+(1, n56820_0))) → *4_0, rt ∈ Ω(n568200)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(144) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)
U15(gen_tt:mark:0':ok3_0(+(1, n50911_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n509110)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(145) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)
U14(gen_tt:mark:0':ok3_0(+(1, n41943_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n419430)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(146) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)
U13(gen_tt:mark:0':ok3_0(+(1, n33580_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n335800)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(147) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)
U12(gen_tt:mark:0':ok3_0(+(1, n25822_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n258220)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(148) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)
x(gen_tt:mark:0':ok3_0(+(1, n21224_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n212240)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(149) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)
plus(gen_tt:mark:0':ok3_0(+(1, n16930_0)), gen_tt:mark:0':ok3_0(b)) → *4_0, rt ∈ Ω(n169300)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(150) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)
U104(gen_tt:mark:0':ok3_0(+(1, n10693_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n106930)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(151) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)
U103(gen_tt:mark:0':ok3_0(+(1, n5043_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50430)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.

(152) Obligation:

TRS:
Rules:
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0')
active(isNat(0')) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0')) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0')) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0')) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0') → ok(0')
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Types:
active :: tt:mark:0':ok → tt:mark:0':ok
U101 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
tt :: tt:mark:0':ok
mark :: tt:mark:0':ok → tt:mark:0':ok
U102 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNatKind :: tt:mark:0':ok → tt:mark:0':ok
U103 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
isNat :: tt:mark:0':ok → tt:mark:0':ok
U104 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
plus :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
x :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U11 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U12 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U13 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U14 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U15 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U16 :: tt:mark:0':ok → tt:mark:0':ok
U21 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U22 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U23 :: tt:mark:0':ok → tt:mark:0':ok
U31 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U32 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U33 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U34 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U35 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U36 :: tt:mark:0':ok → tt:mark:0':ok
U41 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U42 :: tt:mark:0':ok → tt:mark:0':ok
U51 :: tt:mark:0':ok → tt:mark:0':ok
U61 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U62 :: tt:mark:0':ok → tt:mark:0':ok
U71 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U72 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U81 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U82 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U83 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U84 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
s :: tt:mark:0':ok → tt:mark:0':ok
U91 :: tt:mark:0':ok → tt:mark:0':ok → tt:mark:0':ok
U92 :: tt:mark:0':ok → tt:mark:0':ok
0' :: tt:mark:0':ok
proper :: tt:mark:0':ok → tt:mark:0':ok
ok :: tt:mark:0':ok → tt:mark:0':ok
top :: tt:mark:0':ok → top
hole_tt:mark:0':ok1_0 :: tt:mark:0':ok
hole_top2_0 :: top
gen_tt:mark:0':ok3_0 :: Nat → tt:mark:0':ok

Lemmas:
U102(gen_tt:mark:0':ok3_0(+(1, n5_0)), gen_tt:mark:0':ok3_0(b), gen_tt:mark:0':ok3_0(c)) → *4_0, rt ∈ Ω(n50)

Generator Equations:
gen_tt:mark:0':ok3_0(0) ⇔ tt
gen_tt:mark:0':ok3_0(+(x, 1)) ⇔ mark(gen_tt:mark:0':ok3_0(x))

No more defined symbols left to analyse.